﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using Wicresoft.CustomerAttributes;
using System.ComponentModel;

namespace Wicresoft.Entity.Reconciliation
{
    [Table("BMC_CORE_BMC_NetworkPort")]
    [ARForm("BMC.CORE:BMC_NetworkPort")]
    public class NetworkPort
    {
        #region Entity Key
        [Key]
        [AREntryId]
        [Column("RequestId")]
        [ARField(1, ARDataType.Character)]
        public string RequestId { get; set; }
        #endregion

        [Column("Name")]
        [ARField(200000020, ARDataType.Character, MaxLength = 254)]
        public string Name { get; set; }

        [Column("SerialNumber")]
        [ARField(200000001, ARDataType.Character, MaxLength = 254)]
        public string SerialNumber { get; set; }

        [Column("PortNumber")]
        [ARField(536872167, ARDataType.Character, MaxLength = 255)]
        public string PortNumber { get; set; }

        [Column("PortType")]
        [Description("0-Other, 1-Unknown, 2-Ethernet, 3-FDDI, 4-Token Ring, 5-WAN, 6-Fibre Channel")]
        [ARField(530014600, ARDataType.Integer)]
        public int PortType { get; set; }

        [Column("HostName")]
        [ARField(536872151, ARDataType.Character, MaxLength = 255)]
        public string HostName { get; set; }

        [Column("MAC")]
        [ARField(536872163, ARDataType.Character, MaxLength = 255)]
        public string MAC { get; set; }

        [Column("IP")]
        [ARField(536872147, ARDataType.Character, MaxLength = 255)]
        public string IP { get; set; }

        [Column("Mask")]
        [ARField(536872155, ARDataType.Character, MaxLength = 255)]
        public string Mask { get; set; }

        [Column("Trunk")]
        [ARField(536872143, ARDataType.Character, MaxLength = 255)]
        public string Trunk { get; set; }

        [Column("AccessVLAN")]
        [ARField(536872159, ARDataType.Character, MaxLength = 255)]
        public string AccessVLAN { get; set; }

        [Column("VLAN")]
        [ARField(536872139, ARDataType.Character, MaxLength = 255)]
        public string VLAN { get; set; }

        [Column("Type")]
        [ARField(200000004, ARDataType.Character, MaxLength = 60)]
        public string Type { get; set; }

        [Column("TagNumber")]
        [ARField(260100004, ARDataType.Character, MaxLength = 64)]
        public string TagNumber { get; set; }

        [Column("DatasetId")]
        [ARField(400127400, ARDataType.Character, MaxLength = 127)]
        public string DatasetId { get; set; }

        [Column("Item")]
        [ARField(200000005, ARDataType.Character, MaxLength = 60)]
        public string Item { get; set; }
    }
}
